source code explained